home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pine / imap-3.0 / MailManager / AddressBookCell.m < prev    next >
Encoding:
Text File  |  1991-05-20  |  2.8 KB  |  116 lines

  1. /*
  2.  * Program:    Distributed Electronic Mail Manager (AddressBookCell class)
  3.  *
  4.  * Author:    Mark Crispin
  5.  *        Networks and Distributed Computing
  6.  *        Computing & Communications
  7.  *        University of Washington
  8.  *        Administration Building, AG-44
  9.  *        Seattle, WA  98195
  10.  *        Internet: MRC@CAC.Washington.EDU
  11.  *
  12.  * Date:    22 March 1990
  13.  * Last Edited:    20 May 1991
  14.  *
  15.  * Copyright 1991 by the University of Washington
  16.  *
  17.  *  Permission to use, copy, modify, and distribute this software and its
  18.  * documentation for any purpose and without fee is hereby granted, provided
  19.  * that the above copyright notice appears in all copies and that both the
  20.  * above copyright notice and this permission notice appear in supporting
  21.  * documentation, and that the name of the University of Washington not be
  22.  * used in advertising or publicity pertaining to distribution of the software
  23.  * without specific, written prior permission.  This software is made
  24.  * available "as is", and
  25.  * THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
  26.  * WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED
  27.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN
  28.  * NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL,
  29.  * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  30.  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT
  31.  * (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION
  32.  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  33.  *
  34.  */
  35.  
  36.  
  37. #import "MailManager.h"
  38.  
  39. @implementation AddressBookCell
  40.  
  41. // Create a new AddressBookCell
  42.  
  43. + new
  44. {
  45.   self = [super newTextCell:"(*) *"];
  46.   [self setFont:defaultfont];    // set up default font and left-aligned
  47.   [self setAlignment:NX_LEFTALIGNED];
  48.   nickName = fullName = address = extra = NIL;
  49.   return self;
  50. }
  51.  
  52.  
  53. // Clean up
  54.  
  55. - free
  56. {
  57.                 // free up strings
  58.   if (nickName) fs_give ((void **) &nickName);
  59.   if (fullName) fs_give ((void **) &fullName);
  60.   if (address) fs_give ((void **) &address);
  61.   if (extra) fs_give ((void **) &extra);
  62.   return [super free];
  63. }
  64.  
  65. // Set its fields
  66.  
  67. - setNickName:(char *) newNickName fullName:(char *) newFullName
  68.  address:(char *) newAddress extra:(char *) newExtra;
  69. {
  70.   char tmp[TMPLEN];
  71.                 // copy the arguments
  72.   nickName = (const char *) cpystr (newNickName);
  73.   fullName = (const char *) cpystr (newFullName);
  74.   address = (const char *) cpystr (newAddress);
  75.   extra = (const char *) cpystr (newExtra);
  76.                 // generate title
  77.   sprintf (tmp,"(%s) %s",nickName,fullName);
  78.   [self setStringValue:(const char *) tmp];
  79.   return self;
  80. }
  81.  
  82.  
  83. // Return nickname field
  84.  
  85. - (const char *) nickName
  86. {
  87.   return nickName;
  88. }
  89.  
  90.  
  91. // Return name field
  92.  
  93. - (const char *) fullName
  94. {
  95.   return fullName;
  96. }
  97.  
  98.  
  99. // Return address field
  100.  
  101. - (const char *) address
  102. {
  103.   return address;
  104. }
  105.  
  106.  
  107. // Return extra field
  108.  
  109. - (const char *) extra
  110. {
  111.   return extra;
  112. }
  113.  
  114.  
  115. @end
  116.